package com.ruyiadmin.springboot.entity_data_model.data_transformation_model.business_model.module_management;

import com.ruyiadmin.springboot.common_infrastructure.models.base_entity_model.RuYiAdminBaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 用户与模块DTO模型
 * </p>
 *
 * @author RuYiAdmin
 * @since 2022-09-06
 */
@Data
@ApiModel(value = "BizUserModuleDTO对象", description = "模块与用户关系")
@NoArgsConstructor
@AllArgsConstructor
public class BizUserModuleDTO extends RuYiAdminBaseDTO {
    @ApiModelProperty("模块编号")
    @NotNull
    private String moduleId;

    @ApiModelProperty("用户编号")
    @NotNull
    private String userId;

    @ApiModelProperty("用户所在模块登录账号")
    @NotNull
    @Length(max = 128)
    private String userModuleLogonName;

    @ApiModelProperty("用户所在模块登录密码")
    @NotNull
    @Length(max = 512)
    private String userModulePassword;

    @ApiModelProperty("用户登录账号")
    @NotNull
    @Length(max = 128)
    private String userLogonName;

    @ApiModelProperty("用户名称")
    @NotNull
    @Length(max = 128)
    private String userDisplayName;

    @ApiModelProperty("用户密码")
    @NotNull
    @Length(max = 512)
    private String userPassword;

    @ApiModelProperty("座机")
    @Length(max = 45)
    private String telephone;

    @ApiModelProperty("手机")
    @Length(max = 45)
    private String mobilephone;

    @ApiModelProperty("邮箱")
    @Length(max = 45)
    private String email;

    @ApiModelProperty("是否启用，0：禁用，1：启用")
    private Integer isEnabled;

    @ApiModelProperty("性别，男：0，女：1，第三性别：2")
    @NotNull
    private Integer sex;
}
